// #include <stdio.h>
// #include <stdlib.h>
// #include <string.h>
// #include <assert.h>
// #include<stdbool.h>
//
// //结构体数组 了解结构体数组的基本用法
// typedef struct Person
// {
//     char name[20];
//     int age;
//     double score;
//     char addr[20];
// } pp;
//
//
// void bubbleSort(pp *arr, int size) {
//     for (int i = 0; i < size; i++) {
//         for (int j = 0; j < size - i - 1; j++) {
//             if (arr[j].score > arr[j + 1].score) {
//                 pp temp = arr[j];
//                 arr[j] = arr[j + 1];
//                 arr[j + 1] = temp;
//             }
//         }
//     }
// }
// bool compare_by_age(struct Person one,struct Person two) {
//     return one.age > two.age;
// }
//
// void bubbleSortTwo(pp *arr, int size,bool(*compare)(struct Person,struct Person)) {
//     for (int i = 0; i < size; i++) {
//         for (int j = 0; j < size - i - 1; j++) {
//             if (arr[j].score > arr[j + 1].score) {
//                 pp temp = arr[j];
//                 arr[j] = arr[j + 1];
//                 arr[j + 1] = temp;
//             }
//         }
//     }
// }
//
// int main()
// {
//
//     // pp arr[3];
//     // printf("%d\n",sizeof(arr));
//     // for (int i = 0; i < 3; i++)
//     // {
//     //     scanf("%s%d%lf%s",arr[i].name,&arr[i].age,&arr[i].score,arr[i].addr);
//     // }
//     // for (int i = 0; i < 3; i++)
//     // {
//     //     printf("%s %d %lf %s\n",arr[i].name,arr[i].age,arr[i].score,arr[i].addr);
//     // }
//
//
//     pp arrtwo[5]={{"1",18,23,"地区"},
//         {"2",23,23,"地区"},
//         {"3",19,44,"地区"},
//         {"4",7,9,"地区"},
//         {"5",45,1,"地区"},};
//     bubbleSort(arrtwo,5);
//     for (int i = 0; i < 5; i++) {
//         printf("%s\n",arrtwo[i].name);
//     }
//     return 0;
// }